import os
from openai import OpenAI

# 症状分类字典
symptom_categories = {
    "1": "呼吸系统",
    "2": "消化系统", 
    "3": "神经系统",
    "4": "心血管系统",
    "5": "皮肤问题"
}

def analyze_symptoms(client, symptoms, duration, severity):
    """分析症状并提供初步建议"""
    prompt = f"""
    作为医学顾问，请分析以下症状并提供专业建议：
    
    症状描述: {symptoms}
    持续时间: {duration}
    严重程度: {severity}/10
    
    请提供：
    1. 可能的病因分析（列出2-3种最常见可能性）
    2. 建议的自我护理措施
    3. 需要立即就医的警示信号
    4. 建议咨询的专科医生类型
    5. 日常预防建议
    
    注意：这不是医疗诊断，而是基于提供的信息给出的初步建议。
    始终建议用户咨询专业医疗人员获取准确诊断。
    """
    
    response = client.chat.completions.create(
        model="deepseek-chat",
        messages=[
            {"role": "system", "content": "你是一位谨慎的医学顾问，提供基于证据的健康建议，总是强调需要专业医疗咨询。"},
            {"role": "user", "content": prompt}
        ],
        temperature=0.6,
        max_tokens=1200
    )
    
    return response.choices[0].message.content

def generate_health_tips(client, age, lifestyle, health_goals):
    """生成个性化健康建议"""
    prompt = f"""
    为以下用户生成个性化健康建议：
    
    年龄: {age}
    生活方式: {lifestyle}
    健康目标: {health_goals}
    
    请提供：
    1. 饮食建议（针对该年龄和目标的营养重点）
    2. 运动建议（适合的运动类型和频率）
    3. 睡眠优化建议
    4. 压力管理技巧
    5. 定期健康筛查建议
    
    建议应该具体、实用且基于最新医学知识。
    """
    
    response = client.chat.completions.create(
        model="deepseek-chat",
        messages=[
            {"role": "system", "content": "你是一位预防医学专家，擅长提供个性化、实用的健康生活方式建议。"},
            {"role": "user", "content": prompt}
        ],
        temperature=0.7,
        max_tokens=1000
    )
    
    return response.choices[0].message.content

def medical_advisor_app():
    """医学顾问应用主函数"""
    
    client = OpenAI(api_key="你的API Key", base_url="https://api.deepseek.com")
    
    print("*****AI医学顾问助手*******")
    print("1. 症状分析与建议")
    print("2. 个性化健康建议")
    
    choice = input("请选择功能: ")
    
    if choice == "1":
        print("症状分类选项:")
        for key, value in symptom_categories.items():
            print(f"{key}. {value}")
        category_choice = input("选择症状分类: ")
        
        symptoms = input("请详细描述您的症状: ")
        duration = input("症状持续时间: ")
        severity = input("症状严重程度(1-10): ")
        
        analysis = analyze_symptoms(client, symptoms, duration, severity)
        print(f"\n症状分析与建议:\n{analysis}")
        print("\n 重要提醒: 这不是医疗诊断，如有严重症状请立即就医!")
        
    elif choice == "2":
        age = input("您的年龄: ")
        lifestyle = input("您的生活方式(如:久坐办公室、体力劳动、运动活跃等): ")
        health_goals = input("您的健康目标(如:减肥、增肌、改善睡眠、管理压力等): ")
        
        tips = generate_health_tips(client, age, lifestyle, health_goals)
        print(f"\n个性化健康建议:\n{tips}")

if __name__ == "__main__":
    medical_advisor_app()